P_seattigung_perc_soil = P_seattigung_perc
)
basis_data$Pseudoreplikat <- as.factor(basis_data$Pseudoreplikat)
basis_data$Bodentiefe <- as.factor(basis_data$Bodentiefe)
basis_data$study_site <- as.factor(basis_data$study_site)
basis_data$Prozentualer_Gewichtsverlust_Wurzeln <- as.numeric(basis_data$Prozentualer_Gewichtsverlust_Wurzeln)
env$study_site <- as.factor(env$study_site)
env$mean_annual_water_level_m <- env$mean_annual_water_level_cm/100
CN_data$study_site <- as.factor(CN_data$study_site)
CN_data$sample <- as.factor(CN_data$sample)
CN_data <- CN_data %>%
dplyr::rename(
N_perc_plant     = N_perc,
C_perc_plant     = C_perc,
S_IR_perc_plant  = S_IR_perc,
S_TCD_perc_plant = S_TCD_perc,
CN_ratio_plant   = CN_ratio
)
P_et_al$study_site <- as.factor(P_et_al$study_site)
P_et_al$sample <- as.factor(P_et_al$sample)
P_et_al <- P_et_al %>%
dplyr::rename(
P_mg_g_plant  = P_mg_g,
Ca_mg_g_plant = Ca_mg_g,
Fe_mg_g_plant = Fe_mg_g,
K_mg_g_plant  = K_mg_g
)
basis_data <- left_join(basis_data, env, by = c("Plot", "study_site"))
basis_data <- left_join(basis_data, oxalat_soil, by = "Plot")
mean(basis_data$mittlerer_prozentualer_Gewichtsverlust_Wurzeln_Rhizome, na.rm=TRUE)
#bei der CNS-Bestimmung wurden im Labor Doppelbestimmungen gemacht, die mittele ich im nächsten Schritt
CN_mean <- CN_data %>%
group_by(Plot, study_site, sample) %>%
summarise(
N_perc_plant     = mean(N_perc_plant, na.rm = TRUE),
C_perc_plant     = mean(C_perc_plant, na.rm = TRUE),
S_IR_perc_plant  = mean(S_IR_perc_plant, na.rm = TRUE),
S_TCD_perc_plant = mean(S_TCD_perc_plant, na.rm = TRUE),
CN_ratio_plant   = mean(CN_ratio_plant, na.rm = TRUE),
.groups = "drop"
)
nutrients <- left_join(
CN_mean,
P_et_al,
by = c("Plot", "study_site", "sample")
)
#für die Wurzel-GAM will ich nur die Inhaltsstoffe der Wurzeln, für die Rhizom-GAMs nur die Inhaltsstoffe der Rhizome als erklärende Variablen haben, also wird das hier gefiltert.
nutrients_root <- nutrients %>%
dplyr::filter(sample == "root") %>%
dplyr::select(-sample)
nutrients_rhizome <- nutrients %>%
dplyr::filter(sample == "rhizome") %>%
dplyr::select(-sample)
analysis_root <- basis_data %>%
dplyr::filter(!is.na(Prozentualer_Gewichtsverlust_Wurzeln)) %>%
dplyr::left_join(nutrients_root, by = c("Plot", "study_site"))
analysis_rhizome <- basis_data %>%
dplyr::filter(!is.na(Prozentualer_Gewichtsverlust_Rhizome)) %>%
dplyr::left_join(nutrients_rhizome, by = c("Plot", "study_site"))
#Für Acc und PFP will ich die CN-Werte von Wurzeln und Rhizomen jeweils einzeln als erklärende Variable in den GAMS haben. Aktuell gibt es jedoch Spalten für alle Cn-DAten und dann eine Spalte mit "sample" für "root" und "rhizome". Da ich ja nun in meinem Datensatz die CN-Werte für Wurzeln und Rhizom haben möchte, sie aber auseinanderhalten können muss, muss ich im nächsten Schritt Wurzel- und Rhizom-Nährstoffe eindeutig bennen, damit je beide Nährstoff-Daten als Erklärende für Acc und PFP verwendet werden können
nutrients_root_renamed <- nutrients_root %>%
dplyr::rename_with(~ paste0(.x, "_root"), -c(Plot, study_site))
nutrients_rhizome_renamed <- nutrients_rhizome %>%
dplyr::rename_with(~ paste0(.x, "_rhizome"), -c(Plot, study_site))
#hier die CN-Werte von sowohl Wurzeln als auch Rhizomen dem Acc-Datensatz (und unten dem PFP-Datesatz) hinzufügen
analysis_accumulation <- basis_data %>%
dplyr::filter(!is.na(BM_accumulation_belowground_per_m2))
analysis_accumulation <- analysis_accumulation %>%
dplyr::left_join(nutrients_root_renamed,    by = c("Plot", "study_site")) %>%
dplyr::left_join(nutrients_rhizome_renamed, by = c("Plot", "study_site"))
analysis_pfp <- basis_data %>%
dplyr::filter(!is.na(peat_formation_potential_depth_wise))
analysis_pfp <- analysis_pfp %>%
dplyr::left_join(nutrients_root_renamed,    by = c("Plot", "study_site")) %>%
dplyr::left_join(nutrients_rhizome_renamed, by = c("Plot", "study_site"))
range(analysis_root$Prozentualer_Gewichtsverlust_Wurzeln)
range(analysis_rhizome$Prozentualer_Gewichtsverlust_Rhizome)
range(basis_data$mean_temp_simple_Mar.Dec)
range(basis_data$mean_temp_simple_Mar.Dec, na.rm = TRUE)
summary(basis_data$mean_temp_simple_Mar.Dec)
sd(basis_data$mean_temp_simple_Mar.Dec, na.rm = TRUE)
diff(range(basis_data$mean_temp_simple_Mar.Dec, na.rm = TRUE))
setwd("C:/Users/Meline/Documents/Meline_2/Rohrmahdflächen/Publikation_Torfbildungspotential_Schilf/Wasserstaende")
library(dplyr)
library(tidyr)
library(stringr)
library(lubridate)
library(ggplot2)
library(openxlsx)
library(purrr)
library(viridis)
library(scales)
# Ückeritz
Plot_05 <- read.csv("Plot_5.csv" , sep = ";")
head(Plot_05)
summary(Plot_05)
Plot_05$datetime <- as.POSIXct(Plot_05$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_05 <- Plot_05 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_20 <- read.csv("Plot_20.csv" , sep = ";")
Plot_20$datetime <- as.POSIXct(Plot_20$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_20 <- Plot_20 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_21 <- read.csv("Plot_21.csv" , sep = ";")
Plot_21$datetime <- as.POSIXct(Plot_21$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_21 <- Plot_21 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_22 <- read.csv("Plot_22.csv" , sep = ";")
head(Plot_22)
summary(Plot_22)
Plot_22$datetime <- as.POSIXct(Plot_22$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_22 <- Plot_22 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
# Balm
Plot_11 <- read.csv("Plot_11.csv" , sep = ";")
head(Plot_11)
summary(Plot_11)
Plot_11$datetime <- as.POSIXct(Plot_11$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_11 <- Plot_11 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_12 <- read.csv("Plot_12.csv" , sep = ";")
Plot_12$datetime <- as.POSIXct(Plot_12$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_12 <- Plot_12 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_14 <- read.csv("Plot_14.csv" , sep = ";")
Plot_14$datetime <- as.POSIXct(Plot_14$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_14 <- Plot_14 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_15 <- read.csv("Plot_15.csv" , sep = ";")
Plot_15$datetime <- as.POSIXct(Plot_15$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_15 <- Plot_15 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
# Ferne Wiesen
Plot_24 <- read.csv("Plot_24.csv" , sep = ";")
Plot_24$datetime <- as.POSIXct(Plot_24$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_24 <- Plot_24 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_25 <- read.csv("Plot_25.csv" , sep = ";")
Plot_25$datetime <- as.POSIXct(Plot_25$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_25 <- Plot_25 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_26 <- read.csv("Plot_26.csv" , sep = ";")
Plot_26$datetime <- as.POSIXct(Plot_26$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_26 <- Plot_26 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_27 <- read.csv("Plot_27.csv" , sep = ";")
Plot_27$datetime <- as.POSIXct(Plot_27$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_27 <- Plot_27 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
# Lieschower Wiek
Plot_28 <- read.csv("Plot_28.csv" , sep = ";")
Plot_28$datetime <- as.POSIXct(Plot_28$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_28 <- Plot_28 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_30 <- read.csv("Plot_30.csv" , sep = ";")
Plot_30$datetime <- as.POSIXct(Plot_30$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_30 <- Plot_30 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_31 <- read.csv("Plot_31.csv" , sep = ";")
Plot_31$datetime <- as.POSIXct(Plot_31$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_31 <- Plot_31 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_32 <- read.csv("Plot_32.csv" , sep = ";")
Plot_32$datetime <- as.POSIXct(Plot_32$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_32 <- Plot_32 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
# Sehrowbach
Plot_33 <- read.csv("Plot_33.csv" , sep = ";")
Plot_33$datetime <- as.POSIXct(Plot_33$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_33 <- Plot_33 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_34 <- read.csv("Plot_34.csv" , sep = ";")
Plot_34$datetime <- as.POSIXct(Plot_34$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_34 <- Plot_34 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_35 <- read.csv("Plot_35.csv" , sep = ";")
Plot_35$datetime <- as.POSIXct(Plot_35$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_35 <- Plot_35 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
###
Plot_36 <- read.csv("Plot_36.csv" , sep = ";")
Plot_36$datetime <- as.POSIXct(Plot_36$datetime, format = "%d.%m.%Y %H:%M", tz = "CET")
daily_means_Plot_36 <- Plot_36 %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
# Liste der Datensätze
datasets_list <- list(daily_means_Plot_05, daily_means_Plot_11, daily_means_Plot_12, daily_means_Plot_14, daily_means_Plot_15, daily_means_Plot_20, daily_means_Plot_21, daily_means_Plot_22, daily_means_Plot_24, daily_means_Plot_25, daily_means_Plot_26, daily_means_Plot_27, daily_means_Plot_28, daily_means_Plot_30, daily_means_Plot_31, daily_means_Plot_32, daily_means_Plot_33, daily_means_Plot_34, daily_means_Plot_35, daily_means_Plot_36)
datasets_list <- list(
Plot_05 = daily_means_Plot_05,
Plot_11 = daily_means_Plot_11,
Plot_12 = daily_means_Plot_12,
Plot_14 = daily_means_Plot_14,
Plot_15 = daily_means_Plot_15,
Plot_20 = daily_means_Plot_20,
Plot_21 = daily_means_Plot_21,
Plot_22 = daily_means_Plot_22,
Plot_24 = daily_means_Plot_24,
Plot_25 = daily_means_Plot_25,
Plot_26 = daily_means_Plot_26,
Plot_27 = daily_means_Plot_27,
Plot_28 = daily_means_Plot_28,
Plot_30 = daily_means_Plot_30,
Plot_31 = daily_means_Plot_31,
Plot_32 = daily_means_Plot_32,
Plot_33 = daily_means_Plot_33,
Plot_34 = daily_means_Plot_34,
Plot_35 = daily_means_Plot_35,
Plot_36 = daily_means_Plot_36
)
datasets_renamed <- imap(datasets_list, ~ {
rename(.x, !!paste0("waterlevel_m_", .y) := daily_mean)
})
merged_daily_means <- reduce(datasets_renamed, function(x, y) {
full_join(x, y, by = "date")
})
#################
#######Jahresmitteltemperaturen ######
long_df <- merged_daily_means %>%
pivot_longer(
cols = starts_with("waterlevel_m_"),   # alle Spalten, die mit waterlevel_m_ anfangen
names_to = "plot",                     # neue Spalte mit Plot-Namen
values_to = "waterlevel_m"             # neue Spalte mit Werten
)
long_df <- long_df %>%
mutate(plot = gsub("waterlevel_m_", "", plot))
#################
#######Jahresmittelwasserstände ######
long_df <- merged_daily_means %>%
pivot_longer(
cols = starts_with("waterlevel_m_"),   # alle Spalten, die mit waterlevel_m_ anfangen
names_to = "plot",                     # neue Spalte mit Plot-Namen
values_to = "waterlevel_m"             # neue Spalte mit Werten
)
long_df <- long_df %>%
mutate(plot = gsub("waterlevel_m_", "", plot))
annual_means <- long_df %>%
group_by(plot) %>%
summarise(annual_mean_waterlevel_m = mean(waterlevel_m, na.rm = TRUE)) %>%
ungroup()
annual_means <- annual_means %>%
mutate(annual_mean_waterlevel_cm = annual_mean_waterlevel_m * 100)
annual_means
###### ranges #####
study_sites <- tibble::tibble(
plot = c("Plot_05", "Plot_11", "Plot_12", "Plot_14", "Plot_15", "Plot_20",
"Plot_21", "Plot_22", "Plot_24", "Plot_25", "Plot_26",
"Plot_27", "Plot_28", "Plot_30", "Plot_31", "Plot_32",
"Plot_33", "Plot_34", "Plot_35", "Plot_36"),
study_site = c("Ueckeritz", "Balm", "Balm", "Balm", "Balm", "Ueckeritz",
"Ueckeritz", "Ueckeritz", "Ferne_Wiesen", "Ferne_Wiesen", "Ferne_Wiesen",
"Ferne_Wiesen", "Lieschower_Wiek", "Lieschower_Wiek", "Lieschower_Wiek", "Lieschower_Wiek",
"Sehrowbach", "Sehrowbach", "Sehrowbach", "Sehrowbach")
)
annual_means_with_site <- annual_means %>%
left_join(study_sites, by = "plot")
ranges_by_site <- annual_means_with_site %>%
group_by(study_site) %>%
summarise(
min_val = min(annual_mean_waterlevel_m, na.rm = TRUE),
max_val = max(annual_mean_waterlevel_m, na.rm = TRUE),
range_val = max_val - min_val,
.groups = "drop"
)
ranges_by_site
annual_means_sitewise <- annual_means_with_site %>%
group_by(study_site) %>%
summarise(
mean_waterlevel_m = mean(annual_mean_waterlevel_m, na.rm = TRUE),
mean_waterlevel_cm = mean(annual_mean_waterlevel_cm, na.rm = TRUE)
)
vals <- range(annual_means$annual_mean_waterlevel_m, na.rm = TRUE)
range_all <- data.frame(
min  = vals[1],
max  = vals[2],
diff = diff(vals)
)
range_all
min_row <- annual_means %>%
filter(!is.na(annual_mean_waterlevel_m)) %>%
slice_min(annual_mean_waterlevel_m, n = 1)
max_row <- annual_means %>%
filter(!is.na(annual_mean_waterlevel_m)) %>%
slice_max(annual_mean_waterlevel_m, n = 1)
min_row
max_row
long_df <- long_df %>%
left_join(annual_means_with_site %>% select(plot, study_site),
by = "plot")
cb_friendly <- c(
"#000000", # schwarz
"#0072B2", # blau
"#4DAF4A", # grün
"#E69F00", # orange
"#CC79A7"  # magenta
)
#### alle Plots einer Site  haben die gleiche Farbe
Sys.setlocale("LC_TIME", "C")
waterlevel_tagesverlauf_sitewise <- ggplot(
long_df,
aes(x = date, y = waterlevel_m, group = plot, color = study_site)
) +
geom_line(alpha = 1, linewidth = 0.5) +
scale_color_manual(
values = cb_friendly,
labels = function(x) gsub("_", " ", x)
) +
scale_x_date(date_labels = "%b", date_breaks = "1 month") +
labs(x = "Date", y = "Waterlevel [m]", color = "Study Site", linetype = "Study Site") +
theme_minimal(base_size = 14) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
waterlevel_tagesverlauf_sitewise
setwd("~/Meline_2/Rohrmahdflächen/Publikation_Torfbildungspotential_Schilf/Raw_data/Statistics/02_water levels")
library(dplyr)
library(tidyr)
library(lubridate)
library(ggplot2)
library(purrr)
plot_files <- c(
"Plot_5.csv", "Plot_11.csv", "Plot_12.csv", "Plot_14.csv", "Plot_15.csv",
"Plot_20.csv", "Plot_21.csv", "Plot_22.csv",
"Plot_24.csv", "Plot_25.csv", "Plot_26.csv", "Plot_27.csv",
"Plot_28.csv", "Plot_30.csv", "Plot_31.csv", "Plot_32.csv",
"Plot_33.csv", "Plot_34.csv", "Plot_35.csv", "Plot_36.csv"
)
datasets_list <- map(plot_files, ~
read.csv(.x, sep = ";") %>%
mutate(
datetime = as.POSIXct(
datetime,
format = "%d.%m.%Y %H:%M",
tz = "CET"
)
) %>%
filter(!is.na(datetime)) %>%
mutate(date = as.Date(datetime)) %>%
group_by(date) %>%
summarise(daily_mean = mean(waterlevel_m, na.rm = TRUE))
)
names(datasets_list) <- tools::file_path_sans_ext(plot_files)
names(datasets_list)[names(datasets_list) == "Plot_5"] <- "Plot_05"
datasets_renamed <- imap(datasets_list, ~ {
rename(.x, !!paste0("waterlevel_m_", .y) := daily_mean)
})
merged_daily_means <- reduce(datasets_renamed, function(x, y) {
full_join(x, y, by = "date")
})
long_df <- merged_daily_means %>%
pivot_longer(
cols = starts_with("waterlevel_m_"),
names_to = "plot",
values_to = "waterlevel_m"
) %>%
mutate(
plot = gsub("waterlevel_m_", "", plot)
)
annual_means <- long_df %>%
group_by(plot) %>%
summarise(
annual_mean_waterlevel_m = mean(waterlevel_m, na.rm = TRUE)
) %>%
ungroup() %>%
mutate(
annual_mean_waterlevel_cm = annual_mean_waterlevel_m * 100
)
annual_means
annual_amplitude <- long_df %>%
group_by(plot) %>%
summarise(
annual_amplitude =
max(waterlevel_m, na.rm = TRUE) -
min(waterlevel_m, na.rm = TRUE),
.groups = "drop"
)
long_df_season <- long_df %>%
mutate(
month = month(date),
season = case_when(
month %in% c(12, 1, 2)  ~ "Winter",
month %in% c(3, 4, 5)   ~ "Frühling",
month %in% c(6, 7, 8)   ~ "Sommer",
month %in% c(9, 10, 11) ~ "Herbst"
)
)
seasonal_means <- long_df_season %>%
group_by(plot, season) %>%
summarise(
seasonal_mean = mean(waterlevel_m, na.rm = TRUE),
.groups = "drop"
)
seasonal_means_wide <- seasonal_means %>%
pivot_wider(
names_from = season,
values_from = seasonal_mean,
names_prefix = "mean_"
)
seasonal_amplitude <- long_df_season %>%
group_by(plot, season) %>%
summarise(
seasonal_amplitude =
max(waterlevel_m, na.rm = TRUE) -
min(waterlevel_m, na.rm = TRUE),
.groups = "drop"
)
seasonal_amplitude_wide <- seasonal_amplitude %>%
pivot_wider(
names_from = season,
values_from = seasonal_amplitude,
names_prefix = "amp_"
)
final_table <- annual_means %>%
rename(mean_annual = annual_mean_waterlevel_m) %>%
left_join(annual_amplitude, by = "plot") %>%
left_join(seasonal_means_wide, by = "plot") %>%
left_join(seasonal_amplitude_wide, by = "plot") %>%
mutate(
study_site = case_when(
plot %in% c("Plot_05", "Plot_20", "Plot_21", "Plot_22") ~ "Ückeritz",
plot %in% c("Plot_11", "Plot_12", "Plot_14", "Plot_15") ~ "Balm",
plot %in% c("Plot_24", "Plot_25", "Plot_26", "Plot_27") ~ "Ferne Wiesen",
plot %in% c("Plot_28", "Plot_30", "Plot_31", "Plot_32") ~ "Lieschower Wiek",
plot %in% c("Plot_33", "Plot_34", "Plot_35", "Plot_36") ~ "Sehrowbach",
TRUE ~ NA_character_
)
)
final_table
seasonal_means <- long_df_season %>%
group_by(plot, season) %>%
summarise(
seasonal_mean = mean(waterlevel_m, na.rm = TRUE),
.groups = "drop"
)
seasonal_means_wide <- seasonal_means %>%
pivot_wider(
names_from = season,
values_from = seasonal_mean,
names_prefix = "mean_"
)
final_table <- annual_means %>%
rename(mean_annual = annual_mean_waterlevel_m) %>%
left_join(annual_amplitude, by = "plot") %>%
left_join(seasonal_means_wide, by = "plot") %>%
left_join(seasonal_amplitude_wide, by = "plot") %>%
mutate(
study_site = case_when(
plot %in% c("Plot_05", "Plot_20", "Plot_21", "Plot_22") ~ "Ückeritz",
plot %in% c("Plot_11", "Plot_12", "Plot_14", "Plot_15") ~ "Balm",
plot %in% c("Plot_24", "Plot_25", "Plot_26", "Plot_27") ~ "Ferne Wiesen",
plot %in% c("Plot_28", "Plot_30", "Plot_31", "Plot_32") ~ "Lieschower Wiek",
plot %in% c("Plot_33", "Plot_34", "Plot_35", "Plot_36") ~ "Sehrowbach",
TRUE ~ NA_character_
)
)
final_table
final_table %>%
summarise(
mean = mean(mean_Sommer, na.rm = TRUE),
min  = min(mean_Sommer, na.rm = TRUE),
max  = max(mean_Sommer, na.rm = TRUE)
)
